Controle Automático III
Engenharia Elétrica
Semestre 2020/1
Prof. Fernando Passold
Este trabalho visa avaliar os conhecimentos adquiridos pelos alunos na disciplina de Controle Automático III, no que tange o projeto de controladores digitais clássicosusando ferramenta geométrica do lugar das raízes (ou Root-Locus).
A turma de estudantes é dividida em grupos de 2 (ou no máximo de 3, neste caso, sob aprovação do professor).
Cada grupo de estudantes recebe uma única planta acompanhada dos requisitos de controle para a mesma.
Cada grupo realiza o projeto dos controladores sobre uma única planta (a sua planta), definida pelo professor no momento da distribuição dos trabalhos entre a turma de estudantes.
Cabe a cada grupo, projetar os seguintes controladores clássicos analógicos:
Equação:
\[ G_1(s)=\dfrac{7,5}{(s+1)(s+2,5)(s+3)} \]
Amostrada à \(f_s=5\) (Hz).
| Requisitos de Controle | Valores |
|---|---|
| Amplitude degrau: | 1,0 |
| Sobressinal máximo desejado, ou \(\%OS_d\): | 20% |
| Erro máximo desejado, ou \(e(\infty)_d\): | 10% |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | 2,7 |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | 2,0 |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): | 0 |
Equação:
\[ G_2(s)=\dfrac{23,8}{(s+1)(s+3,5)(s+6,8)} \]
Amostrada à \(f_s=10\) (Hz).
| Requisitos de Controle | Valores |
|---|---|
| Amplitude degrau: | 1,0 |
| Sobressinal máximo desejado, ou \(\%OS_d\): | 20% |
| Erro máximo desejado, ou \(e(\infty)_d\): | 7,5% |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | 1,4 |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | 2,6 |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): | -2,6 |
Equação:
\[ G_3(s)=\dfrac{225}{(s+2,5)(s+6)(s+15)} \]
Amostrada à \(f_s=25\) (Hz).
| Requisitos de Controle | Valores |
|---|---|
| Amplitude degrau: | 1,0 |
| Sobressinal máximo desejado, ou \(\%OS_d\): | 20% |
| Erro máximo desejado, ou \(e(\infty)_d\): | 10% |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | 0,9 |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | 2,5 |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): | -2.5 |
Equação:
\[ G_4(s)=\dfrac{1000}{(s+1)(s+25)(s+40)} \]
Amostrada à \(f_s=80\) (Hz).
| Requisitos de Controle | Valores |
|---|---|
| Amplitude degrau: | 1,0 |
| Sobressinal máximo desejado, ou \(\%OS_d\): | 20% |
| Erro máximo desejado, ou \(e(\infty)_d\): | 1,5% |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | 0,3 |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | 14,0 |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): | -14,0 |
Equação:
\[ G_5(s)=\dfrac{280}{(s+2,5)(s+8)(s+14)} \]
Amostrada à \(f_s=20\) (Hz).
| Requisitos de Controle | Valores |
|---|---|
| Amplitude degrau: | 1,0 |
| Sobressinal máximo desejado, ou \(\%OS_d\): | 20% |
| Erro máximo desejado, ou \(e(\infty)_d\): | 8% |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | 0,8 |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | 2,6 |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): | -2,6 |
Equação:
\[ G_6(s)=\dfrac{504}{(s+4,5)(s+8)(s+14)} \]
Amostrada à \(f_s=25\) (Hz).
| Requisitos de Controle | Valores |
|---|---|
| Amplitude degrau: | 1,0 |
| Sobressinal máximo desejado, ou \(\%OS_d\): | 20% |
| Erro máximo desejado, ou \(e(\infty)_d\): | 10% |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | 0,7 |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | 1,6 |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): | -1,6 |
Equação:
\[ G_7(s)=\dfrac{320}{(s+2)(s+8)(s+20)} \]
Amostrada à \(f_s=40\) (Hz).
| Requisitos de Controle | Valores |
|---|---|
| Amplitude degrau: | 1,0 |
| Sobressinal máximo desejado, ou \(\%OS_d\): | 20% |
| Erro máximo desejado, ou \(e(\infty)_d\): | 5% |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | 0,75 |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | 3,5 |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): | -3,5 |
Um documento PDF dever ser criado retratando os projetos realizados. Deve ser formatado para folha A4, com margens de 2 cm em todas as extremidades e usando fonte de tamanho 10 no corpo do texto. As páginas devem ser numeradas e não deve ser usada nenhuma capa. Figuras e tabelas também devem ser numeradas e devidamente referenciadas no texto.
No topo da primeira página deve constar o título deste trabalho, curso de origem, data da entrega, seguido pelos nomes dos integrantes do grupo e seus números de matrícula entre parêntesis (cada um, em uma nova linha).
O documento pode ser criado usando um editor de textos compatível com Markdown um num editor de textos comum como Word ou Libre Office, fica a critério dos estudantes. Lembrando que só será aceito a versão PDF.
Se o documento foi gerado à partir de um editor Markdown e se parece mais conveniente, os estudantes podem encaminhar o arquivo fonte (.md), os arquivos exportados no formato PDF (.pdf) e HTML (.html) e principalmente as figuras (.png); neste caso, todos estes arquivos devem ser compactados num arquivo zipado (.zip), contendo todos os arquivos necessários para visualizar o trabalho de forma completa. Sugere-se neste caso, testar o arquivo compactado antes do envio para o professor (na pasta de \Downloads, por exemplo), para se certificarem que não está faltando nenhuma figura.
Neste último (documento sendo gerado à partir de editor Markdown), as figuras podem ser numeradas da seguinte forma:
|  |
| :--- |
| Fig 1: Exemplo de como incluir figura numerada em Markdown (Photo by Florian Olivo on Unsplash) |Gerando um resultado simular ao mostrado na figura 1 abaixo:
![]() |
|---|
| Fig 1: Exemplo de como incluir figura numerada em Markdown (Photo by Florian Olivo on Unsplash) |
Entretanto, notar que não é desejável que os estudantes apresentem no trabalho, os comandos usados no Matlab realizar os projetos.
No documento à ser gerado, são esperadas as seguintes informações:
Identificação da planta, ou equação de \(G(s)\)
(ou do processo à ser controlado)
Equação de \(BoG(z)\)
(apresentação da sua equação e do período de amostragem, \(T\) adotado).
Requisitos de controle
Este item deve trazer uma tabela relacionando:
| Requisitos | Valores |
|---|---|
| Amplitude degrau: | |
| Sobressinal máximo desejado, ou \(\%OS_d\): | |
| Erro máximo desejado, ou \(e(\infty)_d\): | |
| Tempo de assentamento máximo desejado, ou \(t_{s_d}\): | |
| Sinal máximo de controle, ou \(u(t)_{\text{Máx}}\): | |
| Sinal mínimo de controle, ou \(u(t)_{\text{Min}}\): |
Após esta parte inicial, segue-se o projeto de cada controlador.
Para cada controlador, deve ser apresentado:
Sub-título: Tipo de Controlador: (nome)
Equação do Controlador
\(C(z)=\)
Objetivos esperados:
Um pequeno parágrafo (máximo de 5 linhas) que ressalta a(s) principal(is) razão(ões) para incorporação deste controlador num sistema de malha-fechada. Este item ressalta as expectativas quanto aos resultados que podem ser obtidos com adoção de determinado controlador.
Comentários Iniciais:
Neste ponto, devem ser realizados comentários sobre as decisões tomadas quanto à localização de seu zero ou de seu pólo, justificando porque certos valores (localizações) foram arbitradas.
Gráfico do Diagrama do Lugar das Raízes (Root Locus, ou RL) do sistema incluindo o controlador, ressaltando o ponto adotado para determinação do ganho do mesmo.
Gráfico da resposta ao degrau alcançada pelo sistema em malha-fechada (gráfico de \(y[kT]\)).
Gráfico das amplitudades geradas para a ação de controle, \(u[kT]\).
Uma pequena tabela ressaltando alguns resultados obtidos como:
| Resultados | Valores |
|---|---|
| Amplitude degrau: | |
| Sobressinal alcançado, \(\%OS\): | |
| Tempo de pico, \(t_p\): | |
| Tempo de assentamento, \(t_s\): | |
| Regime permanente saída da planta, \(y(\infty)\): | |
| Erro de regime permanente, \(e(\infty)\): | |
| Amplitude máxima sinal de controle, \(u(t)_{\text{Máx}}\): |
Observação 1: caso o controlador tenhadesenvolvido amplitudes excessivas para sua ação de controle, nova simulação é esperada, no Simulink, incluindo um bloco Saturador, que mostre o comportamento que poderia ser esperado na prática, caso fosse adotado este controlador com os ganhos indicados. Neste ponto, pode ser apresentado num mesmo gráfico, 2 curvas de resposta do sistema, a primeira mostrando o comportamento do sistema desconsiderando efeitos de saturação e outra curas e uma segunda curva mostrando como o sistema se comportaria na presença de saturação (comportamento mais próximo do real).
Observação 2: No caso específico do controlador PID é esperada sua implementação usando formato de velocidade com sintonia baseado no método de Ziegler-Nichols. Neste caso, o ganho máximo (ou ultimate gain), \(K_u\), pode ser determinado graficamente usando o Root Locus já adotado para o projeto do Controlador Proporcional (no Simulink, implica, novo digrama de blocos fechando a malha apenas com controlador proporcional, bloco de ganho \(K\)). Ou o valor de \(K_u\) pode ser determinado analiticamente usando o método de Jury. Neste último caso, alguns pontos extras serão obtidos na avaliação final do trabalho. De qualquer forma, é esperado que sejam mostrados os valores inicialmente determinados para \(K_c\) (ou \(K_P\)), \(K_i\) e \(K_d\) para o PID baseado em Ziegler Nichols; uma simulação inicial deste PID é esperada, além de um ajuste fino acompanhado dos resultados finais obtidos e respectivos valores finais adotados para \(K_c\) (ou \(K_P\)), \(K_i\) e \(K_d\).
Se a equipe adotar alguma variação para a tabela de Ziegler-Nichols, favor acompanhar esta tabela seguida de sua referência bibliográfica. Por exemplo Ziegler–Nichols method (Wikipedia) cita variações para valores propostos por Ziegler-Nichols para sintonia de controladores P, PI e PID.
O projeto de cada controlador deve terminar com “Comentários Finais” ressaltando num pequeno parágrafo, os resultados obtidos: se os requisitos de controle foram atendidos e se este controlador permitiria cumprir (ou não) todos os requisitos desejados. Com breve explicação entende-se um parágrafo de no máximo 5 linhas.
A critério da equipe, comentários extras referentes ao projeto de controlador são esperados (e representam pontos adicionais). Estes comentários extram incluem algum texto justificando a localização adotada para o pólo ou zero do controlador.
Pontos adicionais também são obtidos se ao final da simulação de certo controlador, e acompanhado de uma breve explicação, ou grupo indique melhorias que podem ser adotados para certo controlador (ajuste de seu ganho, ou ajuste de seu pólo ou zero). Neste caso, desejavelmente acompanhada de nova simulação confirmando uma melhoria nos resultados que podem ser obtidos.
Este tabalho obedece aos seguintes critérios de avaliação:
A tabela 1 mostra a Pontuação Geral associada com o trabalho:
| Item principal | Pontos (%) |
|---|---|
| Determinação de \(BoG(z)\) | 5 |
| 1. Controlador Proporcional | 10 |
| 2. Controlador Integrador Puro | 10 |
| 3. Controlador PI (P + I) | 10 |
| 4. Controlador por Atraso de Fase (Lag) | 10 |
| 5. Controlador PD (P + D) | 10 |
| 6. Controlador por Avanço de Fase (ou PD + FPB) | 10 |
| 7. Controlador Deadbeat | 10 |
| 8. Controlador por Acanço-Atraso de Fase (Lead-Lag) | 10 |
| 9. Controlador PID (sintonia por Ziegler-Nichols) | 7,5 |
| PID: Determinação Ganho Máximo usando método de Jury | 5 |
| PID: Sintonia fina | 2,5 |
| Total | 100 |
Sendo que a avaliação de cada controlador obedece a próxima tabela:
| Item | Pontos (%) |
|---|---|
| Equação genérica do Controlador | 2,5 |
| Expectativas para este controlador | 5 |
| Comentários sobre localização de pólos/zeros do Controlador | 10 |
| Gráfico do RL com anotação do K adotado | 10 |
| Equação final do controlador com ganho incluído | 2,5 |
| Gráfico de \(y[kT]\) | 10 |
| Informações de \(\%OS\), \(t_p\), \(t_s\), \(y(\infty)\) | 5 |
| Gráfico de \(u[kT]\) | 10 |
| Verificação de \(u[kT]\) máximo e mínimo | 10 |
| Nova simulação se limites de \(u[kT]\) foram superados? | 10 |
| Comentários finais: expectativas atendidas? | 5 |
| Sugestões de melhorias? | 10 |
| Nova simulação com melhorias? | 10 |
| Total | 100 |
onde:
\(y[kT]\) corresponde à resposta em malha-fechada alcançada para determinado controlador (normalmente para referência = entrada degrau unitário);
\(u[kT]\) corresponde à ação de controle, mostrando as amplitudes desenvolvidas.
Os gráficos incluídos no documento devem obedecer certa resolução (mínimo 150 dpi), uma espessura mínima para as curvas e um tamanho mínimo usado para as fontes (texto presente nas figras), para assegurar que o documento final resulte comfiquem legíveis. Para tanto, se recomenda que os estudantes gerem gráficos obedecendo aos seguintes parâmetros:
| Parâmetros | Valores recomendados |
|---|---|
| Rendering: | 150 até 300 dpi |
| Scale font by: | auto |
| Scale font with minimum of: | 16 points |
| Scale line width width by: | auto |
| Scale line with minimum of: | 1.5 points |
| Salvar figuras como: | PNG (Portable Network Graphics) |
Se for necessário incluir diagramas de blocos originalmente realizados no Simulink, por exemplo, um digrama de nome “plantaPDteste.slx”, para exportar os mesmos usar um comando como mostrado à seguir (na janela de comandos do Matlab):
>> print -r300 -dpng -s planta_PD_teste planta_PD_teste.pngO parâmetro -r300 especifica resolução de 300 dpi, o parâmetro -dpng especifica para gerar arquivo gráfico no padrão PNG.
Por exemplo:

E para transformar em figuras os gráficos obtidos a partir de blocos “Scope”, sugere-se incluir blocos “To workspace” no Simulink para variáveis do tipo “timeseries” (padrão nas versões mais recentes do Matlab).

Suponha que num certo diagrama de blocos, a resposta (saída) de um sistema tenha sido exportada para a varíavel y, para obter um gráfico similar ao gerado por um bloco Scope monitorando esta saída, usar o comando (na linha de comandos do Maltab):
>> plot(u.time, u.data, 'b-', y.time, y.data, 'k:')Onde a opção b apenas indica a cor azul (blue) para a curva, e o caracter - indica traço contínuo. Em caso de dúvidas sobre o uso da função plot() no Matlab, usar o comando: >> help plot.

Existe ainda outra opção para mostrar num mesmo gráfico, a resposta temporal do sistema, \(y(t)\) e o sinal da ação de controle, \(u(t)\) sem problemas com escalas muito diferentes entre estes 2 sinais, que é usando a função plotyy(.), mostrado no exemplo abaixo:
>> [y, t]=step(ftmf_PD); % guarda dados em vetores mas não mostra gráfico
>> [u,t2]=impulse(aux2); % u(t) para PD, gráfico não é mostrado na tela
>> plotyy(t,y, t2,u);
>> legend('y(t)', 'u(t)')
>> grid
>> set(AX,'FontSize', 14) % aumenta fonte dos axis
>> set(H1,'LineWidth', 2)
>> set(H2,'LineStyle', '--')
>> set(H2,'LineWidth', 2)
>> set(H2,'Color', 'm')
>> title('Step Response')onde:
t e y são variáveis (vetores) relacionados com o tempo e amplituda de saída da planta respectivamente;
t2 e u2 são variáveis (vetores) relacionados com o tempo e amplitudade da ação de controle (respectivamente)
Note que a dimensões dos vetores t e t2 não são obrigadas à coincidir.
Que gera um gráfico como o mostrado a seguir:
O trabalho (um único arquivo PDF ou ZIP) deve ser enviado por email para o professor até o último dia do semestre: 27/06/2020. Uma cópia por equipe.
Junho 2020
Do Se Te Qu Qu Se Sá
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27 <-- Última semana de aulas
28 29 30 01 02 03 04 <-- Início EXAMES 2020.1 